home *** CD-ROM | disk | FTP | other *** search
-
- DZ80 Z80 Disassembler - Copyright 1990 by Jeffery L. Post
- Version 1.0 - Aug 22, 1990
-
- DZ80 is a cross disassembler for MSDOS machines. It generates a Z80
- assembly source code file from either a binary file or an Intel hex file.
- The executable code for DZ80 is public domain. The C source code for this
- program is NOT public domain but may be purchased from the author for
- personal or educational use only. To obtain the C source on a standard
- 360K MSDOS 5 1/4" diskette, send $15 cash, check, or money order to:
-
- Jeffery L. Post
- 22726 Benner Ave.
- Torrance, CA 90505
-
- The executable program may be freely distributed through public domain
- channels (bulletin boards, PD software houses, friends, etc) provided
- this documentation file is included.
-
- Command line format is: DZ80 filename [options]. The filename should
- be entered without an extension. The default extension is HEX. If the 'b'
- (binary file) option is used, the default extension is BIN. The 'd' (data)
- option will append a comment field to each assembly line consisting of the
- address of the instruction and hex and ascii representations of the code
- byte(s). Option entry is freeform: 'db' 'd b' '-bd' '-b -d' all mean the
- same thing. The 'x' option specifies a hexadecimal offset to be added to
- the program data. This is useful when disassembling CP/M com files, among
- other things. If used, the x option must be the last specified in the
- command line.
-
- DZ80 does three passes over the code being disassembled. The first pass
- searches for opcodes that reference program locations (such as jumps and
- calls) so that labels may be generated in the source listing. Pass two does
- the actual disassembly and writes source lines to the output file. Pass three
- then searches for references to locations outside of the initialized program
- space or to locations that lie in the middle of opcodes and generates equate
- statements for them.
-
- All three passes display the 'current pc' as they do their work. Despite
- the three pass design of DZ80, it is a very fast disassembler. It will dis-
- assemble an 5K binary file, outputing a 37K assembly source file, in about
- 14 seconds on an 8 MHz machine.
-
- DZ80 is an 'intelligent' disassembler. Since uninitialized space in a
- program will normally be filled with either 0 or 0ffh, blocks of such data
- will not be disassembled as page after page of NOP or RST 38h. They will
- be skipped over and an ORG statement will be inserted in the assembly output
- when the next initialized code is encountered.
-
- Despite all it's wonderfulness, DZ80 does have some drawbacks. Chief among
- them is that it does not try to analyze program flow, and therefore cannot
- tell the difference between valid executable code, data tables, and/or ascii
- data. This can lead to some strange looking disassembly when ascii data or
- address tables are encountered. The 'd' option is useful for identifying such
- problems.
-
- Comments, suggestions, bug reports, praise, or diatribes of any kind may
- be sent to the author at the address given above.
-
-